#pragma once

#include "../_inc_set/def_setting.h"
#define MAX_PRT_STR		64
#define MAX_PRT_MEMO	256

typedef struct _PRINTINFO_
{
	TCHAR	tzTitle[MAX_PRT_STR];
	TCHAR	tzLine1[MAX_PRT_STR];
	TCHAR	tzLine1C[MAX_PRT_STR];
	TCHAR	tzLine2[MAX_PRT_STR];
	TCHAR	tzLine2C1[MAX_PRT_STR];
	TCHAR	tzLine2C2[MAX_PRT_STR];
	TCHAR	tzLine2C3[MAX_PRT_STR];
	TCHAR	tzLine3[MAX_PRT_STR];
	TCHAR	tzLine3C[MAX_PRT_STR];
	TCHAR	tzLine4[MAX_PRT_STR];
	TCHAR	tzMemo1[MAX_PRT_MEMO];
	TCHAR	tzMemo2[MAX_PRT_MEMO];
	TCHAR	tzMemo3[MAX_PRT_MEMO];
	TCHAR	tzMemo4[MAX_PRT_MEMO];
	TCHAR	tzMemo5[MAX_PRT_MEMO];
	TCHAR	tzBottom[MAX_PRT_STR];
}PRINTINFO;

typedef struct _STREAM
{
	BYTE*	pStream;
	DWORD	dwWidth;
	DWORD   dwHeight;
} STREAM, *PSTREAM;

typedef struct _REPORT_ITEM
{
	DWORD	dwTime;
	float	fNGps;
	float	fEGps;
	float   fXSensor;
	float   fYSensor;
	float   fZSensor;
	float	fSpeed;
	int		nSpeedMode;
	STREAM	vidStream[MAX_CHANNEL];
} REPORT_ITEM, *PREPORT_ITEM;


class CDlgViewerBG;
class CReportPreview
{
public:
	void GetPrintOutDC(CDC* pDC, RECT* pRc,	PREPORT_ITEM pReportItem, PRINTINFO* pPrintInfo, CDlgViewerBG *pViewerSetup);
	void PrintOut(PREPORT_ITEM pReportItem, PRINTINFO*	pPrintInfo, CDlgViewerBG *pViewerSetup);
};
